Network coding has emerged as an important potential approach to the operation of communication networks, especially wireless networks. The major benefit of network coding stems from its ability to mix data, across time and across flows. This makes data transmission over lossy wireless networks robust and effective.
Linear network coding was originally introduced for the case of error-free networks with specified link capacities, and was extended to the case of erasure networks. The linear network coding solution does not require decoding at intermediate nodes and can be applied in any network. Each node transmits a linear combination of all coded packets it has received so far. This solution ensures that with high probability, the transmitted packet will have what is called the innovation guarantee property, i.e., it will be innovative to every receiver that receives it successfully, except if the receiver already knows as much as the sender. An innovative packet is a linear combination of packets which is linearly independent of previously received linear combinations, and thus conveys new information. Thus, every successful reception will bring a unit of new information. This scheme is shown to achieve capacity for the case of a multicast session.
The Transmission Control Protocol (TCP) was originally developed for wired networks. Since wired networks have very little packet loss on the links and the predominant source of loss is buffer overflow due to congestion, TCP's approach of inferring congestion from losses works well. In contrast, wireless networks are characterized by packet loss on the link and intermittent connectivity due to fading.